﻿using EnvDTE;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using VisualPoint.Controls.Actions;

namespace VisualPoint.Controls.Environments
{
    public interface IEnvironment
    {
        void OpenDocument(string projectName, string folder, string fileName, string viewKind, bool selectInExplorer);

        void CloseDocument(string projectName, string folder, string fileName, FileCloseOption closeOption);

        void SelectText(string Text);

        string GetSelectedText();

        void WriteText(string Text);

        void ResizeNormal();

        void ResizeFullScreen();

        void Resize(ResizeOption ResizeOption, string DockWith, vsLinkedWindowType DockAt, string Configuration);

        void SelectWindow(WindowSelectOption selectOption, string windowName, string windowConstant);

        Collection<string> GetWindowConfigurations();

        void UpdateWindowConfiguration(string value);

        void DeleteWindowConfiguration(string value);

        void CreateWindowConfiguration(string value);

        string GetActiveWindowConfiguration();

        void WriteOutputWindow(string text);
    }
}
